package com.example.finaltest.goods;
import android.content.Context;
import android.view.LayoutInflater;
import android.graphics.Color;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.example.finaltest.R;

import java.util.List;

/*编写listview和gridview适配器的过程
 * 1.创建一个类,继承与baseAdapter
 * 2.重写4个方法
 * 3.在类当中定义2个成员变量   context和集合
 * 4.创建构造方法将两个成员变量赋值
 * 5.前三个方法按照套路写(固定写法)
 * 6.创建内部类,在内部类当中声明item布局对应控件,并在构造方法当中查找,构造方法要传view
 * 7.
 * */
public class TypeAdapter extends BaseAdapter{
    Context context;
    List<TypeBean.DataBean> data;
    int clickPos=0;
    public TypeAdapter(Context context, List<TypeBean.DataBean> data) {
        this.context = context;
        this.data = data;
    }

    public void setClickPos(int clickPos) {
        this.clickPos=clickPos;
        notifyDataSetChanged();//重新绘制界面
    }
    @Override //显示多少行数据,集合的长度
    public int getCount() { return data.size(); }
    @Override//返回指定位置的数据
    public Object getItem(int position) { return data.get(position); }
    @Override //返回指定位置view的id
    public long getItemId(int position) { return position; }
    @Override //返回item_type布局对应的view对象
    public View getView(int position, View convertView, ViewGroup parent) {
        VH vh = null;
        if (convertView == null) {
            convertView = LayoutInflater.from(context).inflate(R.layout.item_type,parent,false);
            vh = new VH(convertView);
            convertView.setTag(vh);
        }else {
            vh = (VH) convertView.getTag();
        }
        TypeBean.DataBean bean = data.get(position);
        vh.tv.setText(bean.getName());
        // 点击背景颜色,文字颜色,竖线的出现和隐藏
        if(position==clickPos)
        {
            convertView.setBackgroundResource(R.color.divider);
            vh.tv.setTextColor(Color.BLUE);
            vh.line.setVisibility(View.VISIBLE);

        }else {
            convertView.setBackgroundResource(R.color.white);
            vh.tv.setTextColor(Color.BLACK);
            vh.line.setVisibility(View.INVISIBLE);
        }
        return convertView;
    }
    class VH{
        TextView tv,line;
        public VH(View v){
            tv = v.findViewById(R.id.item_type_tv);
            line = v.findViewById(R.id.item_type_line);
        }
    }
}